{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import json\n",
    "import os\n",
    "import matplotlib.pyplot as plt\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x110d899d0>]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aa=[]\n",
    "\n",
    "for epoch in range(0, 50):\n",
    "    losses = os.listdir('loss_epoch'+str(epoch))\n",
    "    losses.sort()\n",
    "\n",
    "    loss=[]\n",
    "    for l in losses:\n",
    "        if l == '.DS_Store':\n",
    "            continue \n",
    "\n",
    "        lossj = json.load(open('loss_epoch'+str(epoch) + '/' + l))\n",
    "\n",
    "        n = l.split('.')[0][1:]\n",
    "        a = lossj['total']\n",
    "        loss.append([int(n), a])\n",
    "\n",
    "    loss.sort()\n",
    "\n",
    "    for l in loss:\n",
    "        aa.append(l[1])\n",
    "\n",
    "plt.plot(aa)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.15"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
